package com.heu.blood.autologous.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 
 * 
 * @author lyj
 * @email lyj@heu.com
 * @date 2024-11-30 19:22:05
 */
@Data
@TableName("blood_information_autologous")
public class BloodInformationAutologousEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 编号
	 */
	@TableId
	private Long id;
	/**
	 * 血液ID
	 */
	private String bloodId;
	/**
	 * 创建时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@TableField(value = "gmt_create", fill = FieldFill.INSERT) // 创建注解
	private Date gmtCreate;
	/**
	 * 修改时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@TableField(value = "gmt_modified", fill = FieldFill.INSERT_UPDATE) // 更新注解
	private Date gmtModified;
	/**
	 * 血装编号条码
	 */
	private String barcode;
	/**
	 * 扩展码-产品码
	 */
	private String extendCode;
	/**
	 * 血液品名-(BloodType)
	 */
	private String bloodType;
	/**
	 * 规格/血量-数字
	 */
	private BigDecimal bloodCount;
	/**
	 * ABO血型(AboType)
	 */
	private String aboBloodType;
	/**
	 * RH血型(RhType)
	 */
	private String rhBloodType;
	/**
	 * 失效时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date failureTime;
	/**
	 * 采血时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date collectTime;
	/**
	 * 血液来源-字典-供血机构(BloodSource)
	 */
	private String bloodSource;
	/**
	 * 状态-字典(BloodStatus)
	 */
	private String bloodState;
	/**
	 * 入库金额
	 */
	private BigDecimal inboundPrice;
	/**
	 * 血袋位置-库存位置描述(BloodLocation)
	 */
	private String bloodLocation;
	/**
	 * 血液金额
	 */
	private BigDecimal bloodPrice;
	/**
	 * 计量单位-ml等(MeasureMentUnit)
	 */
	private String measurementUnit;
	/**
	 * 批次号
	 */
	private Long batchNumber;
	/**
	 * 献血时编号
	 */
	private String bloodDonationCode;
	/**
	 * 血站出库编号
	 */
	private String bloodBankDeliveryId;
	/**
	 * 院区(HospitalAreaName)
	 */
	private String hospitalClassification;
	/**
	 * 0代表未核验，1代表核验成功，2代表核验失败
	 */
	private Integer testFlag;
	/**
	 * 是否展示，0代表不展示，1代表展示
	 */
	@TableField(value = "if_show", fill = FieldFill.INSERT) // 创建注解
	private Integer ifShow;
	/**
	 * 1代表已删除，0代表未删除
	 */
	@TableLogic(value = "0", delval = "1")
	@TableField(value = "is_deleted", fill = FieldFill.INSERT) // 创建注解
	private Integer isDeleted;
	/**
	 * 配血日期
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date matchTime;

	private String applicationId;

	private Long bloodApplicationItemId;

}
